1. Field of the Invention
The present invention generally relates to computer systems, particularly to a method of upgrading or servicing computer components, and more specifically to a method of controlling voltage sources to computer components that are removed or added during operation of the computer system, i.e., without powering down the computer system or otherwise interrupting service.
2. Description of Related Art
Modern computing systems are often constructed from a number of processing units and a main memory, connected by a generalized interconnect. The basic structure of a conventional multi-processor computer system 10 is shown in FIG. 1. Computer system 10 has several processing units (CPUs) 12a, 12b, and 12c which are connected to various peripheral, or input/output (I/O) devices 14 (such as a display monitor, keyboard, and permanent storage device), memory device 16 (random-access memory or RAM) that is used by the processing units to carry out program instructions, and firmware 18 whose primary purpose is to seek out and load an operating system from one of the peripherals (usually the permanent memory device) whenever the computer is first turned on.
Processing units 12a-12c communicate with the peripheral devices, memory and firmware by various means, including a bus 20. Computer system 10 may have many additional components which are not shown, such as serial and parallel ports for connection to, e.g., modems or printers. Those skilled in the art will further appreciate there are other components that might be used in conjunction with those shown in the block diagram of FIG. 1; for example, a display adapter might be used to control a video-display monitor, a memory controller can be used to access memory 16, etc. The computer can also have more than three processing units. In a symmetric multi-processor (SMP) computer, all of the processing units 12a-12c are generally identical, that is, they all use a common set or subset of instructions and protocols to operate, and generally have the same architecture.
Conventional computer systems often allow the user to add or remove various components after delivery from the factory. For peripheral devices, this can be accomplished using an xe2x80x9cexpansionxe2x80x9d bus, such as the Industry Standard Architecture (ISA) bus or the Peripheral Component Interconnect (PCI) bus. Another component that is commonly added by the user is main memory. This memory is often made up of a plurality of memory modules that can be added or removed as desired. Even processing units can be added or swapped out, in more recent computer designs.
Expansion buses such as the ISA and PCI buses were originally very limited, in that the entire computer system had to be powered down before any peripheral device could be added to or removed from a PCI adaptor slot, and then powered up again (rebooted) to properly initialize the operating system and any new peripheral device. More recently, computer hardware components such as xe2x80x9chot-pluggablexe2x80x9d PCI adapters have been devised that can be added or removed from a computer system while the system is fully operational, without any service interruption. Each PCI adapter slot along the PCI bus has a separate power line, a separate reset line, and a switch connecting the slot to the bus, allowing the slot to be electrically isolated from the PCI bus, and reactivated after insertion of a new PCI device into the slot.
This hot-plug capability has never been expanded to core or low-level components such as processors, system memory, or voltage regulator modules (VRMs), which are used to produce the required power sources/references at precise voltages. While processors and system RAM can be added or swapped out in some conventional systems, these systems must still be powered down for such upgrades or service. Furthermore, components such as VRMs are generally not removable, and any replacement requires field service by a qualified engineer, since the VRM is hardwired into the system.
Unfortunately, a user may not only want to add another PCI device, but further might want to replace a defective processor, memory bank, or VRM, without service interruption. For many computer systems (particularly large servers used in a client-server network), there may be hundreds of users connected to it, and the down time required to perform such a service operation can be extremely expensive. Also, in systems which are used in mission-critical applications, it is highly desirable to be able to perform all maintenance or upgrade operations without service interruption, particularly when it is necessary to replace a defective component.
One problem in providing such hot-pluggable devices relates to control of the voltages and currents involved. Individual control must be maintained for the power characteristics of each hot-pluggable device, but presently available power supply designs are incapable of providing such control. Expanded hot-plug capabilities would also necessitate the generation appropriate status signals for other parts of the computer system, e.g., the firmware or operating system which supervises the hot-plug operations, in a manner heretofore not considered. It would, therefore, be desirable to provide a method of controlling the voltage sources to hot-pluggable devices in a computer system, to allow upgrading or servicing of system components without requiring a powering down or interruption of the system. It would be further advantageous if the method could easily handle a large number of hotpluggable devices, and monitor the devices for power faults.
It is another object of the present invention to provide such a method that allows a wide variety of computer components to be upgraded or serviced, without interrupting system operation.
It is yet another object of the present invention to provide such a method that carefully controls and monitors the power supplied to any such hot-pluggable devices, individually.
The foregoing objects are achieved in a method of servicing a computer system without interrupting operation of the computer system, generally comprising the steps of connecting at least one computer component to a board of the computer system, the computer component having a voltage input, detecting connection of the computer component to the system board using a control circuit of the computer system, supplying power to the voltage input of the computer component in response to said detecting step, and thereafter monitoring the power supplied to the voltage input of the computer component. The method may advantageously be used to provide for the removable interconnection (hot-plugging) of core computer components such as CPU modules and voltage regulator modules. The method may further include the step of turning off power to the voltage input of the computer component in response to a determination that a current level of the power supplied to the voltage input of the computer component exceeds a specified level. A fault signal is latched in an active state in response to the determination; the fault signal is reset when the component is removed from the system.
The method also applies to a plurality of hot-pluggable components, wherein the power supplied to each component is individually monitored. The control circuit can sequence power to the components in any desired order. A plurality of voltage good signals from the computer components are consolidated in the control circuit, and the control circuit generates a system power good signal based on the plurality of voltage good signals from the computer components.
The above as well as additional objectives, features, and advantages of the present invention will become apparent in the following detailed written description.